package com.neusoft.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.neusoft.dto.ApproveRetroactiveListDTO;
import com.neusoft.dto.RetroactiveDTO;
import com.neusoft.utils.ServerResponse;
import com.neusoft.vo.AttendanceVO;
import com.neusoft.vo.RetroactiveVO;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

@Service
public interface AttendanceService {
    ServerResponse<?> attendanceIn(Integer id, Integer type);

    List<AttendanceVO> getMyRecords(Integer id, Date startDate, Date endDate);

    ServerResponse<?> applyRetroactive(Integer id, RetroactiveDTO retroactiveDto);

    IPage<RetroactiveVO> getRetroactiveList(Integer pageNum, Integer pageSize);

    ServerResponse<?> approveRetroactive(Integer id, Byte status, String reason);

    ServerResponse<?> approveRetroactiveList(ApproveRetroactiveListDTO approveRetroactiveListDTO);

    IPage<AttendanceVO> selectRetroactiveList(Integer pageNum, Integer pageSize);
}
